package com.atguigu.gmall.product.service;


import com.atguigu.gmall.model.list.Goods;
import com.atguigu.gmall.model.product.SkuInfo;
import com.atguigu.gmall.model.product.SpuSaleAttr;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;
import java.util.List;

/**
 *
 */
public interface SkuInfoService extends IService<SkuInfo> {


    /**
     *商品上下架
     * @param skuId
     */
     void upOrDown(Long skuId,int status);



    /**
     * 保存前端提交的skuinfo
     *
     * @param skuInfo
     */
    void saveSkuInfo(SkuInfo skuInfo);

    /**
     * 获取skuInfo价格
     * @param skuId
     * @return
     */
    BigDecimal getSkuPrice(Long skuId);
    /**
     * 查询sku对应的spu的销售属性和值
     * @return
     */
    List<SpuSaleAttr> getSkuSaleAttrAndValue(Long skuId);

    /**
     * 去数据库查询到所有的skuId
     * @return
     */
    List<Long> getAllSkuIds();

    /**
     * 查出上下架的并封装成goods信息
     * @param skuId
     * @return
     */
    Goods getSkuInfoForSearch(Long skuId);
}
